# 创建角色：名字、性别、血量、装备 ·战斗
# 装备，防弹衣，血量默认100，正常被攻击-10滴血,有防弹衣-5滴血
# 创建房间：角色可加入房间，房间内的人可互打，房间上限2人

class User:
    # 名字，性别、血量、装备
    hp = 100

    def __init__(self, name, sex, equipment):
        self.name = name
        self.sex = sex
        self.equipment = equipment

    # 战斗
    def fight(self, user):
        print(f"{self.name}发起了攻击,", end="")
        if user.equipment == "防弹衣":
            user.hp -= 5
            print(f"{user.name}hp-5,hp为{user.hp}")
        else:
            user.hp -= 10
            print(f"{user.name}hp-10,hp为{user.hp}")


class Room:
    def __init__(self):
        self.tmp = []

    def room_add(self, user):
        if len(self.tmp) < 2:
            if user.name in self.tmp:
                print(f"{user.name}已存在")
            else:
                self.tmp.append(user)
                print(f"欢迎{user.name}")
        else:
            print("人数已满")


user1 = User("甄嬛", "女", "防弹衣")
user2 = User("果子狸", "男", "")
user3 = User("华妃", "女", "")
user4 = User("四郎", "男", "防弹衣")
user5 = User("安小鸟", "女", "防弹衣")
room1 = Room()
room2 = Room()

# 加入user1
room1.room_add(user1)
# 加入user2
# room1.room_add(user2)
# 加入user2
room1.room_add(user3)
room1.room_add(user2)

while 1:
    # 先判断血量，如果血量为零，则输出对手赢，并退出循环
    if room1.tmp[0].hp <= 0:
        print(f"{room1.tmp[1].name}赢了")
        break
    elif room1.tmp[1].hp <= 0:
        print(f"{room1.tmp[0].name}赢了")
        break
    # 为什么使用room1.tmp[0].fight,因为不能直接使用user1.fight(user2)，
    # 比如，更换user1.fight(user3),需要重写代码，所以从room的列表中直接获取进入房间的两个人
    room1.tmp[0].fight(room1.tmp[1])
    room1.tmp[1].fight(room1.tmp[0])